Действия (Actions)
Определение и принципы
Прочтите Структура модулей (#Actions)
Правила
- Все действия должны наследоваться
.Boot\Abstracts\Actions\Action
Структура папок
- usr
- modules
- {module-name}
- Actions
- CreateItemAction.php
- DeleteItemAction.php
- ...
Пример кода
Действие (Action)
class CreateUserAction extends Action
{
public function run(string $email, string $password, string $name, bool $isClient = false): User
{
$user = app(CreateUserTask::class)->run(
$isClient,
$email,
$password,
$name
);
return $user;
}
}
Вызов нескольких задач
class SampleAction extends Action
{
public function run($a, $b, $c)
{
$foo = app(SampleTask1::class)->run($a, $b);
$bar = app(SampleTask2::class)->run($foo, $c);
}
}
Использование в контроллере
public function deleteItem(DeleteItemRequest $request)
{
$item = app(DeleteItemAction::class)->run($request);
return $this->deleted($item);
}
Совет
Одно и то же действие